#include "mainwindow.h"
#include <QApplication>
#include "butterfly.h"
#include <QGraphicsScene>
#include <QDebug>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QGraphicsScene *scene = new QGraphicsScene;
    scene->setSceneRect(QRectF(-200, -200, 400, 400));

    Butterfly *butterfly = new Butterfly;
    butterfly->setPos(-100, 0);

    scene->addItem(butterfly); // scene是容器

    QGraphicsView *view = new QGraphicsView;
    view->setScene(scene);
    view->resize(400, 400);
    view->show();

    // 视图坐标原点(0,0)对应场景坐标（场景坐标）
    qDebug() << "view->mapToScene(0, 0):" << view->mapToScene(0, 0);

    // 场景坐标原点(0,0)对应视图坐标（视图坐标）
    qDebug() << "view->mapFromScene(0, 0):" << view->mapFromScene(0, 0);

    // 场景左上角坐标（场景坐标）
    QPointF p1 = QPointF(scene->sceneRect().topLeft());
    qDebug() << "p1:" << p1;

    // 场景左上角对应视图坐标（视图坐标）
    qDebug() << "view->mapFromScene(p1.x(), p1.y())" << view->mapFromScene(p1.x(), p1.y());

    return a.exec();
}
